dep liberator
use liberator and rename side-effecty fns
note that a different structure would better