Trying to find bugs, but it looks good.