Partial implementation and fun function.