Made initial complete version.