please read the sources this grows tiresome