change interrupt polling not to open a new value file, implement set_level