Added signal handling
Made operator << work