adapted for polycademy