Type matching implemented