Chang cong to use the library definitions
Remove superfluos definitions of coerce
Modularize Graph correctness
adding changes to old files after splitting
merged splitting with master