When the FlightWaypoint Type is instantiated by Dim it contains an instance of a Location as its Position item. If, as in Klaus' case, you are immediately going to overwrite that with a different instance of a Location then you do not need to Initialize it. On the other hand if you are going to use the pre-provided instance you will need to Initialize it otherwise you will get a run-time NotInitialized error. One way or another you will need to always Initialize each instance of a Location, B4A will not do it for you.