Added operations and supporting macros