2018 software revenue recognition