improved module installation function
add deleteable hook