avoiding namespace pollution by own define