add custom service and complete functionality