auto type naming