expand on design goals and make the dependencies section a list