refactor asmidipercussion