https://cscprogrammingtutorials.com/understanding-laptop-batteries/