simplify the design