Finished naive implementation and set up setup for calling different versions.