Adopted better object model
Returning a rich object