add months and start to refactor