Improve data layer
Improve service layer
Add new output