TomA: i'm pretty sure this should be volatile