oops optional is still needed