implemented 'leveling up'