added smof framework