design can affects function