Major updates to class