add spec and type