Beta Version phase 1

Abstract card class and add card factory for multi card support