reordered and renamed some classes