#4, reduce the number of dependencies