Systems based thinking