implementing smof framework