added hover effect + refactoring