various online resources collected from internet