Decided on class structure, doesn't matter if it's not the best one