first pass setup