finished first version.