first implementation of design