Move includes in right place
Template typedef trick
Trying to use this trick
Using this trick in all base module