Added timeout and request parsing