better code generation