pushing with some exception check