seriously reduced the complexity