add the ui and backend functionality to let users choose instance types