part 1 is solid

.part2 exec() and exit() basically working, need to check the conner
cases