refined add school function