first draft of the beginning of this, there is a long way to go