@mmcc added functions for better timeout and interval handling. closes #1642