the whole source base refactored due to upgraded-api file and new concept