add qobject, finish signal