Updated. Soon to add a better size method (so this may simply not work)