removed asm-specific weirdness while keeping asm-influenced architecture