We introduce H -join decompositions of graphs, indexed by a fixed bipartite graph H . These decompositions are based on a graph operation that we call H -join, which adds edges between two given graphs by taking partitions of their two vertex sets, identifying the classes of the partitions with vertices of H , and connecting classes by the pattern H . H -join decompositions are related to modular, split and rank decompositions. Given an H -join decomposition of an n-vertex m-edge graph G we solve the Maximum Independent Set and Minimum Dominating Set problems on G in time O(n(m+2O((H)2 ) )), and the q-Coloring problem in time O(n(m + 2O(q(H)2 ) )), where (H) is the rank of the adjacency matrix of H over GF(2). Rankwidth is a graph parameter introduced by Oum and Seymour, based on ranks of adjacency matrices over GF(2). For any positive integer k we define a bipartite graph Rk and show that the graphs of rankwidth at most k are exactly the graphs having an Rk -join decomposition, there...