struggling on preprocessor kung-fu...