Cleaned up and implemented load