Add each reimplementation with test