dynamic thinking