added types and colon-operator