fleshing out sync a little bit more, havent tested