2018 software revenue recognition training