more robust value getting