generalized test cases and added templates