original version of ex25
original version of ex27