added functional fs_open