try to adjust script more common usage and powerful