do things only at the moment they are needed