hardware and software needs.