add a customizable props framework