Actually return the allocated struct