Work out kinks, add class/language specific modes