Val now a struct