changed default provider to singleton in injection2.0