Split load function to allow internal access