constructor-to-fn now rets an anonymous fn
cleanup + constrcut fn + doc update