add principal request
remove hardcode schools, refacter callback functions