Refactor argument macro