made some fields volatile