pre-implementation