Refactored Start()