add timeline model and its test cases