add internal_subscription files. fix lifetime implementation