updated the classes to separate view classes from model classes