add timeout param on constructor