use needs as a boolean directly (no need to call them)