added negative axis support