observable is now an interface, little refactoring