refactor mapping argument %