Add Source constructor overload