simplify and tweak