major rework, extract services