super as the first constructor instruction & some minor refactoring