add protection for empty line
use tools.o