refactored year class