Refactor calendar to work on it's on class. And doing some testing