added timeoutWith, clearWith
added timeoutWith, clearWith
refactoring
update documentation