an implementation that works then