Added some incapsulation to calendar