restructure project [ci skip]