implement complete models