copy of smart-framework