Adding the requirements for the classes, will probably reword this all later