attempt to improve simplify, still not correct