refactor so cache works with first time site visits
added background selection