improved design, some fixes with responses