A mass flow controller for controlling fluid flow rate, the mass flow controller comprising: a valve assembly comprising a first valve and a second valve in fluid communication with a first location located downstream of the of the first valve and a second location located downstream of the first location and upstream of the second valve, wherein the second valve has a valve stem and a valve seat; at least one semiconductor based pressure sensor in fluid communication with the first location and the second location; and a controller communicable coupled with the valve assembly and the at least one pressure sensor, wherein the controller is configured to: determine pressure for the first location and the second location; cause an adjustment to valve stroke of at least one valve (20, 22) in fluid communication with the first and the second locations (14, 16) based on an actual fluid flow rate, the determined pressure for the first and the second locations (14, 16), and a predetermined value; and characterized in that the mass flow controller further comprises a position sensor communicable coupled with the at least one valve (20, 22), wherein the controller receives data from the position sensor to determine the position of the second valve as the valve stem transitions to or from the valve seat, and wherein the position of the second valve is used to perform diagnostics on the mass flow controller by comparing the valve position to valve seat a-priori data and actual flow rates. a valve assembly comprising a first valve and a second valve in fluid communication with a first location located downstream of the of the first valve and a second location located downstream of the first location and upstream of the second valve, wherein the second valve has a valve stem and a valve seat; at least one semiconductor based pressure sensor in fluid communication with the first location and the second location; and a controller communicable coupled with the valve assembly and the at least one pressure sensor, wherein the controller is configured to: determine pressure for the first location and the second location; cause an adjustment to valve stroke of at least one valve (20, 22) in fluid communication with the first and the second locations (14, 16) based on an actual fluid flow rate, the determined pressure for the first and the second locations (14, 16), and a predetermined value; and determine pressure for the first location and the second location; cause an adjustment to valve stroke of at least one valve (20, 22) in fluid communication with the first and the second locations (14, 16) based on an actual fluid flow rate, the determined pressure for the first and the second locations (14, 16), and a predetermined value; and characterized in that the mass flow controller further comprises a position sensor communicable coupled with the at least one valve (20, 22), wherein the controller receives data from the position sensor to determine the position of the second valve as the valve stem transitions to or from the valve seat, and wherein the position of the second valve is used to perform diagnostics on the mass flow controller by comparing the valve position to valve seat a-priori data and actual flow rates.