timeout can be set via property
added unit tests for this functionality
updated docstrings