added option to use Size as a max cap rather than strict target