updated some validtion, and made extensions work, need a better solution, returning HashMap<String, JsonElement> seem janky to me