sources are now in their own class