add purpose and how we do it