Added source handling shit