Add ability to substitute for another user

also added tests for substituting text for another user