2nd design implementing