don't need the return value, but should check for error