cleanup and add spec methods