Added some metadata
Regorganized Exceptions and fixed many small things