resolve dependency issue and implement Basic_file