create source material done
added edit func for source
CRUD done
fixed merge