My submission for the long frontend interview test.