prepare for DI