removed *_proxy functions and replaced them with lambdas, using decltyp(auto) in places where refs are needed