cleaned up load method