ticket:3 tests
ticket:3 implementation
ticket:3 fix css
ticket:3 refactor