reduced code complexity