move msearch to use atomic array instead of synchronize