refactoring dateByAdding* methods