implemented all the external libraries into local