re-structured packages, introduced Location model and LocationException and added sourceEncoding as UTF-8