restructure and addition of more framework