diff --git a/cmd/set.go b/cmd/set.go
index 4e2c490..207e381 100644
--- a/cmd/set.go
+++ b/cmd/set.go
@@ -19,7 +19,10 @@
 
 import (
 	"fmt"
+	"reflect"
 	"strings"
+
+	"github.com/apache/cloudstack-cloudmonkey/config"
 )
 
 func init() {
@@ -44,11 +47,16 @@
 		},
 		Handle: func(r *Request) error {
 			if len(r.Args) < 1 {
-				fmt.Println("Please provide one of the sub-commands: ", r.Command.SubCommands)
+				fmt.Println("Please provide one of the sub-commands: ", reflect.ValueOf(r.Command.SubCommands).MapKeys())
 				return nil
 			}
 			subCommand := r.Args[0]
-			value := strings.Join(r.Args[1:], " ")
+			value := strings.Trim(strings.Join(r.Args[1:], " "), " ")
+			config.Debug("Set command received:", subCommand, " values:", value)
+			if r.Args[len(r.Args)-1] == "-h" {
+				fmt.Println("Usage: set <subcommand> <option>. Press tab-tab to see available subcommands and options.")
+				return nil
+			}
 			r.Config.UpdateConfig(subCommand, value, true)
 
 			if subCommand == "profile" && r.Config.HasShell {
diff --git a/config/config.go b/config/config.go
index 4c4f0d5..17d6712 100644
--- a/config/config.go
+++ b/config/config.go
@@ -282,7 +282,10 @@
 	case "output":
 		c.Core.Output = value
 	case "timeout":
-		intValue, _ := strconv.Atoi(value)
+		intValue, err := strconv.Atoi(value)
+		if err != nil {
+			fmt.Println("Error caught while setting timeout:", err)
+		}
 		c.Core.Timeout = intValue
 	case "profile":
 		c.Core.ProfileName = value
@@ -309,6 +312,9 @@
 		} else {
 			DisableDebugging()
 		}
+	default:
+		fmt.Println("Invalid option provided:", key)
+		return
 	}
 
 	Debug("UpdateConfig key:", key, " value:", value, " update:", update)
