sync spec and implementation