Refactored types