Add some general base implementation