implemented Cell