update: added a lot of stuff