Duolingo: analyzing all engagement and retention techniques