changed macros to work with instant substition