refacto with separeted find / insert