solution version1