initial hooks api
sync now supports hooks