Implement 3 versions of dd model