improve flow of *to* function