simplified and working
more stuff
update