Improve dap method (perform for in place and perform for not in place)