initial spring DI draft