design done, now implement