add sync framework

based on gilbert32 patch and walter 3.0.x-ION sync framework patch