#constraints-driven-design