use marco `define