seperated tests and macros