fixed boxing, but looks weird when the same alg is used