A method of cleaning a surface by a cleaning device, the method comprising: drawing cleaning solution through a tank filter that is in fluid communication with an outlet of a solution tank of a cleaning device; drawing the cleaning solution through one or more discharge line (120, 125) filters to a pump intake of the cleaning device; delivering the cleaning solution from a pump discharge of the cleaning device to a flow meter; determining that the cleaning device is not primed by: determining that a system status variable is false, and determining one or more of the following: that a float switch (180, 190) in the solution tank transitioned from not floating to floating, and that operator input indicates that the cleaning device is not primed; in response to the cleaning device not being primed, initiating a priming mode by: opening a first valve associated with a bypass line that is in fluid communication with the pump discharge and an inlet of the solution tank, closing a second valve associated with a cleaning head of the cleaning device, and delivering the cleaning solution from a discharge of the flow meter to the inlet of the solution tank through the bypass line; and in response to the cleaning device being primed, initiating cleaning by: closing the first valve associated with the bypass line, opening the second valve associated with the cleaning head, and delivering the cleaning solution to the cleaning head. drawing cleaning solution through a tank filter that is in fluid communication with an outlet of a solution tank of a cleaning device; drawing the cleaning solution through one or more discharge line (120, 125) filters to a pump intake of the cleaning device; delivering the cleaning solution from a pump discharge of the cleaning device to a flow meter; determining that the cleaning device is not primed by: determining that a system status variable is false, and determining one or more of the following: that a float switch (180, 190) in the solution tank transitioned from not floating to floating, and that operator input indicates that the cleaning device is not primed; determining that a system status variable is false, and determining one or more of the following: that a float switch (180, 190) in the solution tank transitioned from not floating to floating, and that operator input indicates that the cleaning device is not primed; that a float switch (180, 190) in the solution tank transitioned from not floating to floating, and that operator input indicates that the cleaning device is not primed; in response to the cleaning device not being primed, initiating a priming mode by: opening a first valve associated with a bypass line that is in fluid communication with the pump discharge and an inlet of the solution tank, closing a second valve associated with a cleaning head of the cleaning device, and delivering the cleaning solution from a discharge of the flow meter to the inlet of the solution tank through the bypass line; and opening a first valve associated with a bypass line that is in fluid communication with the pump discharge and an inlet of the solution tank, closing a second valve associated with a cleaning head of the cleaning device, and delivering the cleaning solution from a discharge of the flow meter to the inlet of the solution tank through the bypass line; and in response to the cleaning device being primed, initiating cleaning by: closing the first valve associated with the bypass line, opening the second valve associated with the cleaning head, and delivering the cleaning solution to the cleaning head. closing the first valve associated with the bypass line, opening the second valve associated with the cleaning head, and delivering the cleaning solution to the cleaning head.