work on adding idle thread