Code all working. Needs coverage and docs.