Done rewriting Pack
Write tests for Pack