added instance resolver and register by type