added feature functions