prepare timeout feature for further implementations