Refactored to 3.0