Functional with classes, need to add dynamic updates