add function (untested) refactor move->forward