still dislike the use of defines like this but I won't block merging of PR at this point.