complete history-operation
clean code