Reorganized structure and implemented Annotation mode (should work)
Also implemented some Exceptions to help avoiding errors