added level saving and loading