cleanup and tightening specs
Move some logic into instance rounds

Also fix a bug, perhaps introduced here? where the round was off by 1 in the js