history initial implementation