always return a promise, don't add nav elements with parents, send context from helpers