add observer and observerable