really worked out some structure stuff