implemented open file