restructure variable type specification