initial module creation
adding version number and modify typedef