refactored packaging. now packages are categorized by layer