apply is a macro