improve abs.jl