cleaned up for academy use