the next huge step in my implementation has been made

part 2

rearrange classes