Refactored to remove cell state and cleaned up init