adding tests and organizing