nag vs builder refactor