re-orginze some code 2 (make code work, change calendar view derives to IView)