uncommented essential functions