diff --git a/gmap.module b/gmap.module
index 6f14332..2467444 100755
--- a/gmap.module
+++ b/gmap.module
@@ -47,8 +47,10 @@ function gmap_theme() {
     // 'gmap_overlay_edit' => array('render element' => 'element'),
     // 'gmap_macrotext' => array('render element' => 'element'),
     'gmap_dimension' => array('render element' => 'element'),
-    // 'gmap_address' => array('render element' => 'element'),
-    // 'gmap_align' => array('render element' => 'element'),
+    'gmap_address' => array('render element' => 'element'),
+    'gmap_align' => array('render element' => 'element'),
+    'gmap_style' => array('render element' => array('element')),
+    'gmap_popup' => array('render element' => array('marker')),
     'gmap' => array('render element' => 'element'),
   );
 }
@@ -576,7 +578,7 @@ function gmap_element_info() {
           "$path/js/polygonEdit/src/polygonEdit_packed.js" => array('weight' => 3),
         ),
       ),
-      // '#theme' => 'select',
+    // '#theme' => 'select',
     ),
     'gmap_style' => array(
       '#input' => TRUE,
@@ -1507,3 +1509,16 @@ function template_preprocess_gmap_view_gmap(&$vars) {
 function gmap_views_protocol() {
   return (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 }
+
+/**
+ * Gmap style.
+ */
+function theme_gmap_style($element) {
+}
+
+/**
+ * Theme a gmap marker popup.
+ */
+function theme_gmap_popup($marker) {
+  return '<div class="gmap-popup">' . $marker['text'] . '</div>';
+}
