adding json marshalling
loading version data from gradle via properties
adding test infra
adding tests+infra
restructuring
exception mapping
adding CORS support