Feature-based design: concepts and design environment