added type definition