simplify functions
clean up implementation namespaces