change project listener and init logic