extend prefix format; use fewer ifdefs and more prefixes