first pass for servlets