Transport part is now working as intended. Might be a few bugs left. A lot of code should probably be refactored but before I figure out how, I will do nothing.