implementing EDM class