What do a lot of programs spend time waiting for?