re-wrote prolate stuff