surprising segfault
using macro-specific labels, so much nicer