avoid $_ where possible