fix ioc in service
fix bug
new function