TrackIT! - 1F62 (GW Warminster - Cardiff Central)
Back to Warminster
-
Location Search
-
Maps
-
Schedule
-
Show Oldest Report First
-
Hide Detailed Signalling Data
-
Automatically refresh
-
Show timing estimates
Trust train ID: 821F621H28.
Great Western Railway express passenger service from
Warminster
to
Cardiff Central
.
Timed as a Class 158, 168, 170 or 175 DMU at a maximum speed of 90 mph.
STP schedule
V02971
runs Sundays effective on 28/04/2024 only. A dynamic link to the current day's instance of this train is here:
Today's V02971
.
Activated automatically at 28/04/2024 09:48:45.
Action
Location
When
Trigger
Following
N/A
28/04/2024 12:57:58
C1
: Cancel
CFDM
N/A
N/A
28/04/2024 12:53:06
C1
: Cancel
EWDM
N/A
N/A
28/04/2024 12:51:30
C1
: Cancel
NPDM
N/A
N/A
28/04/2024 12:44:32
C1
: Cancel
EUDM
N/A
Terminated
Cardiff Central
28/04/2024 12:42:00
N/A
N/A
Arrived (P-60)
Cardiff Central
28/04/2024 12:42:00
N/A
N/A
Arr (D) P3
Cardiff Central
28/04/2024 12:40:57
C2
:
2231
to
2235
00:15:48 behind
5O26
Approaching
Cardiff Central
28/04/2024 12:40:09
C2
:
2015
to
2231
00:05:38 behind
1B25
N/A
28/04/2024 12:39:31
C2
:
2013
to
2015
00:05:38 behind
1B25
Passed -120
Long Dyke Junction
28/04/2024 12:39:00
N/A
N/A
N/A
28/04/2024 12:38:39
C2
:
2011
to
2013
00:05:35 behind
1B25
N/A
28/04/2024 12:38:39
C1
: Cancel
2011
N/A
N/A
28/04/2024 12:37:46
C2
: Cancel
APCM
N/A
N/A
28/04/2024 12:37:45
C2
:
2007
to
2011
00:05:36 behind
1B25
N/A
28/04/2024 12:37:45
C1
:
STIN
to
CFDM
00:05:35 behind
1B25
N/A
28/04/2024 12:37:45
C1
:
APCM
to
COUT
00:03:25 behind
1L54
N/A
28/04/2024 12:37:45
C1
:
2007
to
2011
00:05:36 behind
1B25
N/A
28/04/2024 12:37:01
C2
:
2005
to
2007
00:05:33 behind
1B25
N/A
28/04/2024 12:37:01
C1
:
2005
to
2007
00:05:33 behind
1B25
N/A
28/04/2024 12:36:20
C2
:
2003
to
2005
00:05:31 behind
1B25
N/A
28/04/2024 12:36:19
C1
:
2003
to
2005
00:05:30 behind
1B25
N/A
28/04/2024 12:35:36
C2
:
2001
to
2003
00:05:27 behind
1B25
N/A
28/04/2024 12:35:36
C2
: I/pose
APCM
(1B25)
00:05:27 behind
1B25
N/A
28/04/2024 12:35:36
C1
:
STIN
to
APCM
00:05:27 behind
1B25
N/A
28/04/2024 12:35:35
C1
:
2001
to
2003
00:05:26 behind
1B25
Passed -30
Marshfield
28/04/2024 12:35:00
N/A
N/A
N/A
28/04/2024 12:34:55
C2
:
1085
to
2001
00:05:24 behind
1B25
Dep (D) from M
Marshfield
28/04/2024 12:34:54
C1
:
1085
to
2001
00:05:24 behind
1B25
Approaching
Marshfield
28/04/2024 12:34:08
C1
:
1083
to
1085
00:05:21 behind
1B25
N/A
28/04/2024 12:34:08
C2
:
1083
to
1085
00:05:21 behind
1B25
N/A
28/04/2024 12:33:42
C2
:
1081
to
1083
00:05:17 behind
1B25
N/A
28/04/2024 12:33:41
C1
:
1081
to
1083
00:05:17 behind
1B25
N/A
28/04/2024 12:33:20
C2
:
1079
to
1081
00:05:15 behind
1B25
N/A
28/04/2024 12:33:19
C1
:
1079
to
1081
00:05:15 behind
1B25
N/A
28/04/2024 12:32:34
C1
:
STIN
to
EWDM
00:05:12 behind
1B25
N/A
28/04/2024 12:32:33
C2
:
1075
to
1079
00:05:11 behind
1B25
N/A
28/04/2024 12:32:33
C1
:
1075
to
1079
00:05:11 behind
1B25
Dep (D)
Ebbw Junction
28/04/2024 12:32:04
C1
:
1073
to
1075
00:05:12 behind
1B25
N/A
28/04/2024 12:32:04
C2
: I/pose
1075
(1B25)
00:05:12 behind
1B25
Passed -60
Ebbw Junction
28/04/2024 12:32:00
N/A
N/A
N/A
28/04/2024 12:31:49
C1
:
EBDM
to
COUT
00:00:17 behind
2C75
Approaching
Ebbw Junction
28/04/2024 12:31:47
C1
:
1071
to
1073
00:05:13 behind
1B25
N/A
28/04/2024 12:31:09
C1
:
STIN
to
NPDM
00:05:23 behind
1B25
N/A
28/04/2024 12:31:09
C1
:
1069
to
1071
00:05:23 behind
1B25
Dep (D) P2
Newport (South Wales)
28/04/2024 12:30:47
C1
:
1067
to
1069
00:05:23 behind
1B25
Departed (P-30)
Newport (South Wales)
28/04/2024 12:30:00
N/A
N/A
N/A
28/04/2024 12:28:07
C1
:
STIN
to
EBDM
00:05:52 behind
1B25
Arr (D) P4
Newport (South Wales)
28/04/2024 12:28:06
C1
:
1061
to
X067
00:05:52 behind
1B25
N/A
28/04/2024 12:28:06
C1
:
X067
to
1067
00:05:51 behind
1B25
Arrived (P-60)
Newport (South Wales)
28/04/2024 12:28:00
N/A
N/A
Dep (D)
Maindee West Junction
28/04/2024 12:27:17
C1
:
1059
to
1061
00:05:41 behind
1B25
Approaching
Newport (South Wales)
28/04/2024 12:27:17
C1
:
1059
to
1061
00:05:41 behind
1B25
Passed -60
Maindee West Junction
28/04/2024 12:27:00
N/A
N/A
N/A
28/04/2024 12:26:40
C1
: Cancel
NTDM
N/A
Approaching
Maindee West Junction
28/04/2024 12:26:39
C1
:
1055
to
1059
00:05:42 behind
1B25
N/A
28/04/2024 12:26:19
C1
:
1053
to
1055
00:05:40 behind
1B25
N/A
28/04/2024 12:25:42
C1
:
1051
to
1053
00:05:35 behind
1B25
Passed -60
Llanwern West Junction
28/04/2024 12:25:00
N/A
N/A
Dep (D)
Llanwern West Junction
28/04/2024 12:24:53
C1
:
1049
to
1051
00:05:33 behind
1B25
N/A
28/04/2024 12:24:53
C1
:
STIN
to
NTDM
00:05:33 behind
1B25
Approaching
Llanwern West Junction
28/04/2024 12:24:17
C1
:
1047
to
1049
00:05:31 behind
1B25
N/A
28/04/2024 12:24:17
C1
:
STIN
to
EUDM
00:05:31 behind
1B25
N/A
28/04/2024 12:23:38
C1
:
1045
to
1047
00:05:28 behind
1B25
N/A
28/04/2024 12:22:51
C1
:
1043
to
1045
00:05:28 behind
1B25
N/A
28/04/2024 12:22:17
C1
:
1041
to
1043
00:05:27 behind
1B25
N/A
28/04/2024 12:21:30
C1
:
1039
to
1041
00:05:26 behind
1B25
N/A
28/04/2024 12:20:51
C1
:
ST1M
to
COUT
00:00:05 behind
2O26
N/A
28/04/2024 12:20:50
C1
:
1037
to
1039
00:05:28 behind
1B25
Dep (D) P3
Severn Tunnel Junction
28/04/2024 12:19:55
C1
:
1033
to
1037
00:05:27 behind
1B25
Dep (D) from D
Severn Tunnel West
28/04/2024 12:19:09
C1
:
1029
to
1033
00:05:25 behind
1B25
Arr (D) P3
Severn Tunnel Junction
28/04/2024 12:19:09
C1
:
1029
to
1033
00:05:25 behind
1B25
Passed -30
Severn Tunnel Junction
28/04/2024 12:19:00
N/A
N/A
N/A
28/04/2024 12:18:06
C1
:
STIN
to
ST1M
00:08:12 behind
1B25
Passed -30
Severn Tunnel West
28/04/2024 12:18:00
N/A
N/A
Dep (D) from D
Severn Tunnel Junction East
28/04/2024 12:14:58
C1
:
1013
to
1029
00:05:04 behind
1B25
Approaching
Severn Tunnel West
28/04/2024 12:14:58
C1
:
1013
to
1029
00:05:04 behind
1B25
Approaching
Severn Tunnel Junction
28/04/2024 12:14:58
C1
:
1013
to
1029
00:05:04 behind
1B25
Passed -60
Severn Tunnel Junction East
28/04/2024 12:14:00
N/A
N/A
Dep (D) P2 to DT
Pilning
28/04/2024 12:13:11
C1
:
1011
to
1013
00:04:12 behind
1B25
Approaching
Severn Tunnel Junction East
28/04/2024 12:13:11
C1
:
1011
to
1013
00:04:12 behind
1B25
Arr (D) DT to P2
Pilning
28/04/2024 12:12:20
C1
:
1007
to
1011
00:04:06 behind
1B25
Passed -60
Pilning
28/04/2024 12:12:00
N/A
N/A
Dep (D) P2 to DT
Patchway
28/04/2024 12:10:43
C1
:
1003
to
1007
00:03:47 behind
1B25
Approaching
Pilning
28/04/2024 12:10:43
C1
:
1003
to
1007
00:03:47 behind
1B25
N/A
28/04/2024 12:10:43
D9
: Cancel
1003
N/A
Arrived
Bristol Patchway Signal BL1536
28/04/2024 12:09:58
N/A
N/A
Passed -60
Patchway
28/04/2024 12:09:00
N/A
N/A
N/A
28/04/2024 12:07:39
C1
: Cancel
NTAP
N/A
Arr (D) UB to P2
Patchway
28/04/2024 12:07:38
D9
:
1566
to
1003
00:01:55 behind
1B25
Arr (D)
Bristol Patchway Signal BL1536
28/04/2024 12:07:38
D9
:
1566
to
1003
00:01:55 behind
1B25
N/A
28/04/2024 12:07:38
C1
: Cancel
BRAP
N/A
N/A
28/04/2024 12:07:38
C1
: I/pose
1003
(1B25)
00:01:55 behind
1B25
N/A
28/04/2024 12:07:07
C1
: I/pose
NTAP
(1B25)
00:05:24 behind
1B25
Dep (U) P4 to UFR
Filton Abbey Wood
28/04/2024 12:05:14
D9
:
1570
to
1566
00:40:16 behind
2U12
Approaching (D) UB
Patchway
28/04/2024 12:05:14
D9
:
1570
to
1566
00:40:16 behind
2U12
Approaching
Bristol Patchway Signal BL1536
28/04/2024 12:05:14
D9
:
1570
to
1566
00:40:16 behind
2U12
Departed (P-30)
Filton Abbey Wood
28/04/2024 12:04:00
N/A
N/A
Arrived (P-30)
Filton Abbey Wood
28/04/2024 12:02:00
N/A
N/A
Arr (U) UFR to P4
Filton Abbey Wood
28/04/2024 12:01:49
D9
:
1578
to
1570
00:39:45 behind
2U12
Approaching
Bristol Signal BL2052
28/04/2024 12:01:49
D9
:
1578
to
1570
00:39:45 behind
2U12
N/A
28/04/2024 12:01:49
C1
: I/pose
BRAP
(2U12)
00:39:44 behind
2U12
Dep (U) UFR to UFR
Horfield Junction
28/04/2024 12:01:14
D9
:
1584
to
1578
00:39:46 behind
2U12
Dep (U) UFR to UFR
Filton West Signal B645
28/04/2024 12:01:14
D9
:
1584
to
1578
00:39:46 behind
2U12
Approaching (U) UFR
Filton Abbey Wood
28/04/2024 12:01:14
D9
:
1584
to
1578
00:39:46 behind
2U12
Passed 0
Horfield Junction
28/04/2024 12:01:00
N/A
N/A
Approaching (U) UFR
Horfield Junction
28/04/2024 12:00:34
D9
:
1590
to
1584
00:39:44 behind
2U12
Approaching (U) UFR
Filton West Signal B645
28/04/2024 12:00:34
D9
:
1590
to
1584
00:39:44 behind
2U12
N/A
28/04/2024 12:00:34
D0
: Cancel
1590
N/A
N/A
28/04/2024 11:59:44
D9
: I/pose
1590
(2U12)
00:39:37 behind
2U12
N/A
28/04/2024 11:59:44
D0
:
1800
to
1590
00:39:38 behind
2U12
Passed 0
Stapleton Road Narroways Hill Junction
28/04/2024 11:59:00
N/A
N/A
Arrived
Stapleton Road
28/04/2024 11:59:00
N/A
N/A
Dep (U) P1 from 1
Stapleton Road
28/04/2024 11:58:49
D0
:
1804
to
1800
00:39:26 behind
2U12
Dep (U) from R
Stapleton Road Narroways Hill Junction
28/04/2024 11:58:49
D0
:
1804
to
1800
00:39:26 behind
2U12
Arrived
Lawrence Hill
28/04/2024 11:58:23
N/A
N/A
Dep (U) P1 to UF
Lawrence Hill
28/04/2024 11:58:07
D0
:
1810
to
1804
00:08:29 behind
2K28
Arr (U) UF to P1
Stapleton Road
28/04/2024 11:58:07
D0
:
1810
to
1804
00:08:29 behind
2K28
Approaching (U) UF
Stapleton Road Narroways Hill Junction
28/04/2024 11:58:07
D0
:
1810
to
1804
00:08:29 behind
2K28
Departed
Stapleton Road
28/04/2024 11:58:00
N/A
N/A
Departed
Lawrence Hill
28/04/2024 11:57:39
N/A
N/A
Dep (U) UFR to UF
Dr. Day's Jn
28/04/2024 11:57:24
D0
:
1816
to
1810
00:09:59 behind
2K28
Arr (U) UFR to P1
Lawrence Hill
28/04/2024 11:57:24
D0
:
1816
to
1810
00:09:59 behind
2K28
Approaching (U) UF
Stapleton Road
28/04/2024 11:57:24
D0
:
1816
to
1810
00:09:59 behind
2K28
Passed -30
Dr. Day's Jn
28/04/2024 11:57:00
N/A
N/A
Passed 0
Bristol East Junction
28/04/2024 11:57:00
N/A
N/A
Dep (U) UFM to UFR
Bristol East Junction
28/04/2024 11:56:50
D0
:
2072
to
1816
00:10:03 behind
2K28
Approaching (U) UFR
Lawrence Hill
28/04/2024 11:56:50
D0
:
2072
to
1816
00:10:03 behind
2K28
Approaching (U) UFR
Dr. Day's Jn
28/04/2024 11:56:50
D0
:
2072
to
1816
00:10:03 behind
2K28
Dep (U) P9 to UFM
Bristol Temple Meads
28/04/2024 11:56:27
D0
:
2100
to
2072
00:18:12 behind
2E38
Approaching (U) UFM
Bristol East Junction
28/04/2024 11:56:27
D0
:
2100
to
2072
00:18:12 behind
2E38
Departed (P-60)
Bristol Temple Meads
28/04/2024 11:55:00
N/A
N/A
Reversed on P9
Bristol Temple Meads
28/04/2024 11:54:16
D0
:
2127
to
2100
00:36:27 behind
5F11
N/A
28/04/2024 11:51:39
WW
: Cancel
BLLS
N/A
Arrived (P-60)
Bristol Temple Meads
28/04/2024 11:46:00
N/A
N/A
Dep (D) from M
Bristol East Junction
28/04/2024 11:44:35
D0
:
2083
to
2127
00:29:11 behind
5F11
Arr (D) DFM to P9
Bristol Temple Meads
28/04/2024 11:44:35
D0
:
2083
to
2127
00:29:11 behind
5F11
Dep (D) DM to DFM
Bristol East Junction
28/04/2024 11:44:09
D0
:
1981
to
2083
00:08:18 behind
5A16
Approaching
Bristol Temple Meads
28/04/2024 11:44:09
D0
:
1981
to
2083
00:08:18 behind
5A16
Passed -120
Bristol East Junction
28/04/2024 11:44:00
N/A
N/A
Dep (D) DM to DM
North Somerset Junction
28/04/2024 11:43:18
D0
:
1975
to
1981
00:16:09 behind 5C09
Approaching (D) DM
Bristol East Junction
28/04/2024 11:43:18
D0
:
1975
to
1981
00:16:09 behind 5C09
Passed -90
North Somerset Junction
28/04/2024 11:43:00
N/A
N/A
Approaching (D) DM
North Somerset Junction
28/04/2024 11:42:34
D0
:
1969
to
1975
00:16:08 behind 5C09
Approaching
Bristol East Depot Down Goods Loop
28/04/2024 11:41:44
D0
:
1963
to
1969
00:16:07 behind 5C09
Dep (D) P1 to DM
Keynsham
28/04/2024 11:40:39
D0
:
1949
to
1963
00:15:53 behind 5C09
Departed (P60)
Keynsham
28/04/2024 11:39:00
N/A
N/A
Arr (D) DM to P1
Keynsham
28/04/2024 11:37:05
D0
:
1943
to
1949
00:13:05 behind 5C09
Arrived (P0)
Keynsham
28/04/2024 11:37:00
N/A
N/A
Approaching (D) DM
Keynsham
28/04/2024 11:36:19
D0
:
1941
to
1943
00:12:54 behind 5C09
N/A
28/04/2024 11:35:34
D0
:
1937
to
1941
00:12:52 behind 5C09
N/A
28/04/2024 11:34:39
D0
:
1935
to
1937
00:12:47 behind 5C09
Departed
Twerton
28/04/2024 11:33:35
N/A
N/A
Dep (D) DM
Twerton
28/04/2024 11:33:35
D0
:
1929
to
1935
00:12:34 behind 5C09
Dep (D) P1 to DM
Oldfield Park
28/04/2024 11:32:12
D0
:
1927
to
1929
00:12:06 behind 5C09
Approaching (D) DM
Twerton
28/04/2024 11:32:12
D0
:
1927
to
1929
00:12:06 behind 5C09
Departed (P0)
Oldfield Park
28/04/2024 11:31:00
N/A
N/A
Arrived (P0)
Oldfield Park
28/04/2024 11:30:00
N/A
N/A
Dep (D) P1 to DM
Bath Spa
28/04/2024 11:28:51
D0
:
1917
to
1927
00:10:02 behind 5C09
Arr (D) DM to P1
Oldfield Park
28/04/2024 11:28:51
D0
:
1917
to
1927
00:10:02 behind 5C09
Departed (P0)
Bath Spa
28/04/2024 11:28:00
N/A
N/A
Arr (D) DM to P1
Bath Spa
28/04/2024 11:25:09
D0
:
1913
to
1917
00:06:53 behind 5C09
Approaching (D) DM
Oldfield Park
28/04/2024 11:25:09
D0
:
1913
to
1917
00:06:53 behind 5C09
Arrived (P-60)
Bath Spa
28/04/2024 11:25:00
N/A
N/A
Approaching (D) DM
Bath Spa
28/04/2024 11:24:54
D0
:
1909
to
1913
00:06:50 behind 5C09
N/A
28/04/2024 11:24:00
D0
:
1889
to
1909
00:06:48 behind 5C09
Departed
Bathampton Signal B502
28/04/2024 11:22:51
N/A
N/A
Dep (D) DT to DM
Bathampton Signal B502
28/04/2024 11:22:08
D0
:
1995
to
1889
00:06:05 behind 5C09
Passed -60
Bathampton Junction
28/04/2024 11:22:00
N/A
N/A
Dep (D) P1 from D
Freshford
28/04/2024 11:20:03
D0
:
1991
to
1995
01:23:47 behind
1V76
Approaching (D) DT
Bathampton Signal B502
28/04/2024 11:20:03
D0
:
1991
to
1995
01:23:47 behind
1V76
Arrived
Freshford
28/04/2024 11:18:00
N/A
N/A
Departed
Freshford
28/04/2024 11:17:14
N/A
N/A
Dep (D) P1 from D
Avoncliff
28/04/2024 11:16:35
D0
:
1987
to
1991
01:26:11 behind
1V76
Arr (D) P1 from D
Freshford
28/04/2024 11:16:35
D0
:
1987
to
1991
01:26:11 behind
1V76
N/A
28/04/2024 11:16:35
WW
: Cancel
1987
N/A
Departed
Avoncliff
28/04/2024 11:16:25
N/A
N/A
Departed (P-30)
Bradford On Avon
28/04/2024 11:14:00
N/A
N/A
Arrived (P-30)
Bradford On Avon
28/04/2024 11:13:00
N/A
N/A
N/A
28/04/2024 11:11:34
WW
:
APBL
to
COUT
00:12:30 behind
2C28
Arr (D) P1 from 1
Bradford On Avon
28/04/2024 11:11:33
WW
:
W121
to
1987
01:29:33 behind
1V76
N/A
28/04/2024 11:11:33
WW
:
STIN
to
BLLS
01:29:32 behind
1V76
N/A
28/04/2024 11:11:33
D0
: I/pose
1987
(1V76)
01:29:33 behind
1V76
Passed -30
Bradford Jn
28/04/2024 11:10:00
N/A
N/A
Dep (D)
Bradford Jn
28/04/2024 11:09:51
WW
:
W119
to
W121
01:29:30 behind
1V76
Approaching
Bradford On Avon
28/04/2024 11:09:51
WW
:
W119
to
W121
01:29:30 behind
1V76
Dep (D) P1
Trowbridge
28/04/2024 11:08:26
WW
:
W117
to
W119
00:11:45 behind
2M07
Approaching
Bradford Jn
28/04/2024 11:08:26
WW
:
W117
to
W119
00:11:45 behind
2M07
Departed (P-30)
Trowbridge
28/04/2024 11:08:00
N/A
N/A
Arrived (P-90)
Trowbridge
28/04/2024 11:06:00
N/A
N/A
Arr (D) P1
Trowbridge
28/04/2024 11:05:39
WW
:
D106
to
W117
00:11:25 behind
2M07
Approaching
Trowbridge
28/04/2024 11:04:14
WW
:
D108
to
D106
00:11:25 behind
2M07
N/A
28/04/2024 11:04:14
WW
:
STIN
to
APBL
01:29:23 behind
1V76
Dep (D)
Hawkeridge Junction
28/04/2024 11:03:10
WW
:
W115
to
D108
00:11:28 behind
2M07
Passed -30
Hawkeridge Junction
28/04/2024 11:03:00
N/A
N/A
Dep (U) P3
Westbury
28/04/2024 11:02:16
WW
:
W111
to
W115
00:11:26 behind
2M07
Approaching
Hawkeridge Junction
28/04/2024 11:02:16
WW
:
W111
to
W115
00:11:26 behind
2M07
Departed (P-60)
Westbury
28/04/2024 11:01:00
N/A
N/A
Arrived (P-30)
Westbury
28/04/2024 10:57:00
N/A
N/A
Arr (U) P3
Westbury
28/04/2024 10:55:18
WW
:
W305
to
W111
00:06:58 behind
2M07
Departed (P0)
Dilton Marsh
28/04/2024 10:53:00
N/A
N/A
Arrived (P-30)
Dilton Marsh
28/04/2024 10:52:00
N/A
N/A
Dep (U) P1
Warminster
28/04/2024 10:48:49
WW
:
W303
to
W305
11:29:39 behind
2M95
Approaching
Westbury
28/04/2024 10:48:49
WW
:
W303
to
W305
11:29:39 behind
2M95
Departed (P-60)
Warminster
28/04/2024 10:47:00
N/A
N/A
N/A
28/04/2024 10:14:40
WW
: I/pose
W303
(2M95)
10:59:01 behind
2M95
Activated as 821F621H28
Warminster
28/04/2024 09:48:45
N/A
N/A
Generated from schedule V02971
N/A
27/04/2024 00:40:11
N/A
N/A
Contains Information of Network Rail Infrastructure Limited licensed under
this licence
.
TrackIT! is provided as a free service, but obviously costs money to run. If you like what you see, please consider making a
donation.
TrackIT! Copyright © 2012-2024, James Uppington. All rights reserved.
TrackIT! uses cookies to remember your site preferences and provide an enhanced user experience. By continuing use of this site, you are agreeing to TrackIT!'s use of cookies for this purpose.