add separate sign check and fix extension rename bug