refactor code
support file concatenation implemented