Cleaned up generations and elaborate on mark and sweep in a very simple way