removed observe-js dependency