update open() method