merged with master
changed observer.js
merged with master