Created and organized classes according to architecture spec