#11: not use sh scripts