implementing synctrain