change some methods in orderitem to private which should not be mutable. also fixed it to include the special price if an item is special