restructure for ci