I've just been adding stuff to make things work. Some refactoring creating different modules should be done.