added points, size and rect structs, and their methods