Implement functions according to the facts