assistant run() function appears to work correctly, along with its helper functions (prepare, purchaselab etc.); NEED TO FIX sciencestore.purchaseEquipment - see //FIXME comment there for more info.