added polling mechanism