Passing source around
Implementing the port_spec