v2 Almost ready. Review code and fix smelly code.