can now reverse (not optimally)