remove dependency on componentmetadata