add new feature and solve problems