Added timeout option + cleanup, again :D