simplify component design