adding timeout and rewroking some code
lots of small final pre-launch tweaks