adding methods, fixing other stuff