example separated from framework code