organized hard em somewhat, added hook to admmreasoner to change
precision on the fly