added initial card implementation