refactoring lazy loading in a way that will hopefully play nice with touch devices