refined the points in here and added an idea