Generalized for more forms