Basic custom framework