Refactor some of the code
Add more level loading functionality