initial work on completion in headers (needs a refactor)