revenue recognition of software company