converted to service architecture