updated to include file organization and structure