added type grabber
merged finally