Dinodex

Reworked into an API
This code is starting to look like the same method implemented everywhere.