- added further classes to replace the struct definitions