Feature ready with timeout functionality. Not fully tested and
documented yet.