fixed up updating, added more methods, ready to be tested