add project "listener"