Pushing current work - will be rewriting the features to be more
coherent.