small change, ignore the last two functions