Reorganized code to more meaningul objects
Made schemas more strict, validate the whole request