use macro is cleaner