refactored to cell