first draft with elasticsearch