Changed things a bunch and dumbed it down - now just returns funcs