more work on determism. wow, this is tricky