udpated method