fixed s4 method