teacher crud functional