refactor
specify some dependencies
version