restructure, added std.meta.manipulate