added userdm, changed observers a bit