updated peripheral cell with refactoring