final steps before defining all functions with a macro