tabs.ml -> some refactoring