Added Sub::Install dependency
removed the redefinitions of subroutine by using Sub::Install::install_sub
Added a benchmark