The NEST Challenge:

parts 1 to 5