various updates
refactored for new release
refactored for new release