reduce jar size,implement timeout and async initialization