rework cal structure- good now