add metadata support