fixed abs_n and added ceil_n and floor_n