macro functions to real functions