work on class definitions