factor out macro settings so that they can be shared