refactor month class