write something that looks like a declaration of war composed by a drunken, illiterate Klingon. Some people's Ruby makes me want to hurt myself. ... Or them. lol That's true. Yet have I to see a language that assures whatever is written to look beautiful. There are war-declaring drunk illiterate klingons everywhere. I do think Hodgmans example involved somewhat more levels of encapsulation, but I do get what you mean. There are no "right" ways to do OO design, just like there are no right ways to do data modeling. There are ways that let you get working code, with more or less trouble than other ways, for different values of "working code" and "trouble". But I'm going to illustrate some code suggestions, with incomplete examples, if you'll allow me the liberty. My goal is simply to get you thinking and get your design juices flowing with some concrete starting points. First, I'm going to assume that I'm dealing with a fixed size 8x8 chess / checkers style board, and a game with well know rules and fixed sets of pieces. Not because that matters, but because it will let me focus on certain parts of the problem first, while changing those things would require going a few levels further down the rabbit hole. Player Name Piece Type - { Knight, Rook, etc. } Owner : Player Square Color HasPiece : bool Piece Board ClearBoard() - makes the board completely empty AddPiece(Piece) - RemovePiece(Location) - removed the piece at the