add spec code and adust