added observer and store