adding tests and some other stuff