added obeserver method but doesn't work yet