modified the ymd and yw function