How technology can help nonprofits accomplish their mission