fix bugs, add OperationalError