too many argument fixed, scansite improved, code minimized