- proper type for timeout
- common macros implemented