design 1 implemented