add CI framework