real functions to match your dream functions