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 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 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 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 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 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 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 . <EOS>