Add tools by @lvwzhen