Continue  refactor + update doc