further work on ESN classes