New calling convention, rough version.