Implemented. Reworking