class defintions done