flow control macros are bad

refactor this stuff so that we can use gdb or lldb if needed