change source struct