added tests and styling