moved pointer&array types to affect base type, fixed array issues