Further reimplementation.