teacher side implementations