almost code complete, but still need to review the inheritance in use