Added individual pieces

Opting for more difficult solution in the interest of having object
oriented code.