added lots of thoughts.