Cleaned, annotated, tested, and ready to roll... Tests still needed.