more refactoring, added classes for options, implemented basic packer stub