This is the code for Source 2