extract macro works with default parameters