calendar generate implemented