did alot of testing
added handlers and stuff