diff --git a/openstack/baremetal/v1/nodes/results.go b/openstack/baremetal/v1/nodes/results.go
new file mode 100644
index 0000000..459ed1b
--- /dev/null
+++ b/openstack/baremetal/v1/nodes/results.go
@@ -0,0 +1,64 @@
+package nodes
+
+import (
+	"gerrit.mcp.mirantis.net/debian/gophercloud.git"
+	"gerrit.mcp.mirantis.net/debian/gophercloud.git/pagination"
+)
+
+type commonResult struct {
+	gophercloud.Result
+}
+
+func (r commonResult) Extract() (*Node, error) {
+	var n struct {
+		Node *Node `json:"node"`
+	}
+	err := r.ExtractInto(&n)
+	return n.Node, err
+}
+
+type GetResult struct {
+	commonResult
+}
+
+type Link struct {
+	Href string `json:"href"`
+	Rel  string `json:"rel"`
+}
+
+type Node struct {
+	UUID           string `json:"uuid"`
+	InstanceUUID   string `json:"InstanceUUID"`
+	PowerState     string `json:"power_state"`
+	ProvisionState string `json:"provision_state"`
+	Maintenance    bool   `json:"maintenance"`
+	Links          []Link `json:"links"`
+}
+
+type NodePage struct {
+	pagination.SinglePageBase
+}
+
+func (r NodePage) NextPageURL() (string, error) {
+	var n struct {
+		Links []gophercloud.Link `json:"nodes_links"`
+	}
+	err := r.ExtractInto(&n)
+	if err != nil {
+		return "", err
+	}
+	return gophercloud.ExtractNextURL(n.Links)
+}
+
+func (r NodePage) IsEmpty() (bool, error) {
+	is, err := ExtractNodes(r)
+	return len(is) == 0, err
+}
+
+func ExtractNodes(r pagination.Page) ([]Node, error) {
+	var n struct {
+		Nodes []Node `json:"nodes"`
+	}
+	err := (r.(NodePage)).ExtractInto(&n)
+	return n.Nodes, err
+}
