add spec infrastructure