Initial "selection" based behavior.  Possible bugs later but everything seems working for now.

Fixes #67
Merge remote-tracking branch 'origin'