add deps, reorganize project