update reimplementation of the structure