adding signal handling :)