First implemention of design