all functionality now introduced, with exercises