refactoring nib. have a concurrency (?) issue to fix.