added type struct