add test and ci script