use data object instead of service
introduce more objects, get rid of constants