Design first. Code when needed