refactor general.c