fixed open()