Rewrote Post class and improved tests