opts may be undefined