additional interfaces moved to the header file.