almost missed deleting this!
keep temporary values separate by using typenames