reduce complexity?