don't call first-word like a function, it's a string
tried to make area adding more generic via multimethod, but it still requires areas.main to be loaded so maybe this is not a sufficient solution