Refactored and used super in methods
Refactored again