Initial check in toward v1 - added percentage sizes (with proper checking) and re-wrote unit testing