earliest incorrect attempt at framework for macro