Some initial specs as I try to understand all the interesting bits :-)