skeleton elasticsearch implementation