Updated design and impl doc