observable allows cb function