attempting to reduce complexity