class definition: good starting point