diff --git a/components/chart/chart.js b/components/chart/chart.js
index 6e7da685c53bc04db22a8e4db58ae260ba2800ce..8a91920e30cd65bbaf5ce3a1c92f7060a53c2940 100644
--- a/components/chart/chart.js
+++ b/components/chart/chart.js
@@ -67,6 +67,8 @@ export default class CycleChart extends Component {
           data={this.state.columns}
           renderItem={this.renderColumn}
           keyExtractor={item => item.dateString}
+          initialNumToRender={15}
+          maxToRenderPerBatch={5}
         >
         </FlatList>
       </View>
diff --git a/components/chart/day-column.js b/components/chart/day-column.js
index a24899afa8499b0882e0159140ad36f8a64c38df..bb6e834b73191544542918f52fa9971031eb412d 100644
--- a/components/chart/day-column.js
+++ b/components/chart/day-column.js
@@ -17,12 +17,12 @@ import slowlog from 'react-native-slowlog'
 
 const getCycleDayNumber = cycleModule().getCycleDayNumber
 const label = styles.column.label
+const getFhmAndLtlInfo = setUpFertilityStatusFunc()
 
 export default class DayColumn extends Component {
   constructor(props) {
     super(props)
-    this.getFhmAndLtlInfo = setUpFertilityStatusFunc()
-    // slowlog(this, /.*/)
+    slowlog(this, /.*/)
   }
   makeDayColumn(data, index) {
     const {
@@ -35,8 +35,7 @@ export default class DayColumn extends Component {
     } = data
     const cycleDayNumber = getCycleDayNumber(dateString)
     const dateLabel = dateString.split('-').slice(1).join('-')
-    // const nfpLineInfo = this.getFhmAndLtlInfo(dateString, temperature)
-    const nfpLineInfo = {}
+    const nfpLineInfo = getFhmAndLtlInfo(dateString, temperature)
 
     return (
       <G onPress={() => this.passDateToDayView(dateString)}>
diff --git a/components/chart/nfp-lines.js b/components/chart/nfp-lines.js
index a58abc06e20264db2b8f73cc9abb544d619326fb..e5265acdbe46ed3683ff5c5829568bf5638bc0c4 100644
--- a/components/chart/nfp-lines.js
+++ b/components/chart/nfp-lines.js
@@ -2,26 +2,26 @@ import { getCycleStatusForDay } from '../../lib/sympto-adapter'
 import { normalizeToScale } from './y-axis'
 
 export default function () {
-  let cycleStatus
-  let cycleStartDate
-  let noMoreCycles = false
+  const cycle = {
+    status: null
+  }
 
   function updateCurrentCycle(dateString) {
-    cycleStatus = getCycleStatusForDay(dateString)
-    if(!cycleStatus) {
-      noMoreCycles = true
+    cycle.status = getCycleStatusForDay(dateString)
+    if(!cycle.status) {
+      cycle.noMoreCycles = true
       return
     }
-    if (cycleStatus.phases.preOvulatory) {
-      cycleStartDate = cycleStatus.phases.preOvulatory.start.date
+    if (cycle.status.phases.preOvulatory) {
+      cycle.startDate = cycle.status.phases.preOvulatory.start.date
     } else {
-      cycleStartDate = cycleStatus.phases.periOvulatory.start.date
+      cycle.startDate = cycle.status.phases.periOvulatory.start.date
     }
   }
 
   function dateIsInPeriOrPostPhase(dateString) {
     return (
-      dateString >= cycleStatus.phases.periOvulatory.start.date
+      dateString >= cycle.status.phases.periOvulatory.start.date
     )
   }
 
@@ -29,15 +29,15 @@ export default function () {
     return (
       // we are only interested in days that have a preceding
       // temp
-      Object.keys(cycleStatus.phases).some(phaseName => {
-        return cycleStatus.phases[phaseName].cycleDays.some(day => {
+      Object.keys(cycle.status.phases).some(phaseName => {
+        return cycle.status.phases[phaseName].cycleDays.some(day => {
           return day.temperature && day.date < dateString
         })
       })
       // and also a following temp, so we don't draw the line
       // longer than necessary
       &&
-      cycleStatus.phases.postOvulatory.cycleDays.some(day => {
+      cycle.status.phases.postOvulatory.cycleDays.some(day => {
         return day.temperature && day.date > dateString
       })
     )
@@ -51,13 +51,13 @@ export default function () {
 
   return function(dateString, temperature) {
     const ret = {}
-    if (!cycleStatus && !noMoreCycles) updateCurrentCycle(dateString)
-    if (noMoreCycles) return ret
+    if (!cycle.status && !cycle.noMoreCycles) updateCurrentCycle(dateString)
+    if (cycle.noMoreCycles) return ret
 
-    if (dateString < cycleStartDate) updateCurrentCycle(dateString)
-    if (noMoreCycles) return ret
+    if (dateString < cycle.startDate) updateCurrentCycle(dateString)
+    if (cycle.noMoreCycles) return ret
 
-    const tempShift = cycleStatus.temperatureShift
+    const tempShift = cycle.status.temperatureShift
 
     if (tempShift) {
       if (tempShift.firstHighMeasurementDay.date === dateString) {