add more information and protection
perl stuff