Solutions by Craig.