few layers, gui atlas, some refactor