close #17 implement History Manager