reorganize dependencies