Made the piston class and fully implemented it. Needs testing.