prevent ownership transfer of computation. refactoring