added terrain struct and switched token locations to value, not pointer