Large-scale observations are governed and controlled by small scale heterogeneity, for example in terms of local flow velocities and reaction rates. Continuum scale modelling traditionally assigns intrinsic properties to composite rock types as a practical way to account for small-scale heterogeneity, yet, many studies have shown discrepancies between modelled and observed results. In this study, reactive transport models at the pore scale are used to understand the heterogeneity in the flow and variations in the local reaction rates due to the interactions between the mineral and the fluid. For this purpose, a bioclastic limestone sample with calcite as the major mineral is used as a pore domain. A multi-component reactive transport model at pore-scale was developed using a Java interface which combines COMSOL® and PhreeqC. A particular feature of the model is the implementation of the mineral-fluid boundaries where kinetically controlled mineral dissolution or precipitation can occur. The reaction rate is governed by the local flow velocity and the local ion activity product coupled to the pH and the concentration of the calcium ions. Different flow rates were simulated to study the transition from transport to kinetically controlled reaction rates by calculating the local Damköhler (Da) number. At slower inflow rates, diffusion dominated the concentration gradients and the reaction rates were transport limited. At higher inflow rates, concentration gradients became steeper and dissolution was kinetically controlled with Da < 1. The mass transfer due to dissolution is also implemented and the changing pore geometry of the porous media is simulated. The model offers an alternative approach to existing models at the pore scale with aqueous speciation of the components at every time step in the fluid phase leading to a better and more accurate representation of the chemical system.