Roles of features and abstraction in mechanical design