refactor year constructer