hardcoding all functions