lots of changes
made most of the things working