finished model + added json mapping properties