Added some ideas.
Restructured for easier extension.
Merge branch 'master' of github.com:openplanets/bitwiser