functional tool