addtional functions added, special module modified into tool module