Splitted files, added self-compilation, UI WIP