Nit: Unnecessary variable assignment, if not dm.forward(…) would be sufficient since ret's not used later in this scope.