refactored to eliminate year class redundancies