add optional prefix/suffix, overidename