adding several more macros