version2 fixed tested