Created generic base framework