refactored cal.rb | mentally bracing myself for MASSIVE overhaul :rage: