add new token parameter for BuildAToken function
add type cast