apply now works on any reducable, added a few more tests