primitive spec impmt