improved package parsing + start implementing dependency graph