Almost finished Version2