refacotring load method