added assembly code