need to rethink how to do the loading so that we only ever perform the operations once