Framework first pass