developments in hardware and software