add default functions for optional methods, reorganize methods by category, and convert void * to q indices
convert hwq's void * into q indices along with minor cleanups