typedef
hide struct again, keeping typedef