New design implementation

Implemented new design as discussed in #64