move thresholds into separate app
implement action queue for delayed processing