speed and size boost but with biginteger now
reduced size