new adhoc branch with different algorithm approatch