prepared for kelvin implementation