now with Flags and isSmith fn!