adding SCD implementation