finish generate user feature