opts apparently aren't optional