tests plus a little design