Implements #6 Seperate transports and users