implemented closeable timeout channels and tried out in sieve