added type listener