A personal effor to make buildable source with file hierarchy redisgn