imporve date manipulation