split files: helper contains their class only. other codes split into core.c