added some 3rd party utils
restructuring