Make specs transactional

@tucker250