A non-transitory computer-readable storage medium that stores instructions for execution by one or more processors to perform a method comprising: receiving a wireless signal at a short-range wireless communication system on an unlockable device, such as a vehicle, from a nomadic device, wherein the received wireless signal comprises time information, the time information comprising one or more of: - a first timestamp corresponding to a time value generated based on a short-range wireless communication signal that reaches a software application of the nomadic device, and a second timestamp corresponding to a time value generated when the software application transmits the short-range wireless communication signal to one or more components of the nomadic device; or - a time value corresponding to a software application processing delay (Tdelay) obtained at least partially from subtracting the second timestamp from the first timestamp; determining time-of-flight of the short-range wireless communication signal between the nomadic device and the unlockable device at least partially in response to the received first and second timestamps (T1, T2) or the software application processing delay (Tdelay); causing an unlockable device module (408, 409) to perform an unlockable device function based on the determined time-of-flight; characterized in that the first timestamp differs from a reception time (Trn) corresponding to when a short-range wireless communication system of the nomadic device receives the short-range wireless communication signal, and in that the second timestamp differs from a transmission time (Tsn) corresponding to when the short-range wireless communication system of the nomadic device sends the wireless signal as a response. receiving a wireless signal at a short-range wireless communication system on an unlockable device, such as a vehicle, from a nomadic device, wherein the received wireless signal comprises time information, the time information comprising one or more of: - a first timestamp corresponding to a time value generated based on a short-range wireless communication signal that reaches a software application of the nomadic device, and a second timestamp corresponding to a time value generated when the software application transmits the short-range wireless communication signal to one or more components of the nomadic device; or - a time value corresponding to a software application processing delay (Tdelay) obtained at least partially from subtracting the second timestamp from the first timestamp; - a first timestamp corresponding to a time value generated based on a short-range wireless communication signal that reaches a software application of the nomadic device, and a second timestamp corresponding to a time value generated when the software application transmits the short-range wireless communication signal to one or more components of the nomadic device; or - a time value corresponding to a software application processing delay (Tdelay) obtained at least partially from subtracting the second timestamp from the first timestamp; determining time-of-flight of the short-range wireless communication signal between the nomadic device and the unlockable device at least partially in response to the received first and second timestamps (T1, T2) or the software application processing delay (Tdelay); causing an unlockable device module (408, 409) to perform an unlockable device function based on the determined time-of-flight; characterized in that the first timestamp differs from a reception time (Trn) corresponding to when a short-range wireless communication system of the nomadic device receives the short-range wireless communication signal, and in that the second timestamp differs from a transmission time (Tsn) corresponding to when the short-range wireless communication system of the nomadic device sends the wireless signal as a response.