this lets us specify dependencies more specifically and also build binaries as a part of the project.