Slight improvements and better exceptions
Added location data to some exceptions
Wow why was this just now added git pls
Functions started