implement polling cycle