modified for publish