added and modified sources