new read from xml that really work