pre ctags
added header protection defs
compiles! (and segfaults...)