adding tests and stuff