revised : add obs and add det