static, first pass