Initial commit

First working version with start of specs and untested singular
behaviour