added observer and styles