This is so cool. How long did it take you? Seems like this sort of thing would need loads of research. Nice work man!