Public source creation function