Use interface instead of abstract class for mapping