finished Version1