preserve relax context, add tests; #1