fix: file opening throw error if nothing opened
fix: rework file opening mechanism so mime is checked first
feat: add file executing