reduce complexity