A rewrite of the first. Even more functionality inspired by DeityAPI