added fully optimized assembly