simplify the whole structure