add compose, fix generateTimestamp