redesigned the whole engine; todo:multi-thread processing