https://medium.com/@amitdavidson234/building-a-nosql-database-from-zero-in-1000-lines-of-code-part-1-f4334b400522