state now works with dataObject class; dataObject class modified to be able to use old functions if newer style call fails