James custom framework