full-implementation