set simulation class to final
move original boilerplate code into separate function to keep it around for reference
update dev notes with stuff to follow up on
replace nsautoreleasepool use with auto release pool directive