add misc.c
minor changes