Refactor arg using aux stuff, add ret.