wow, that's too much to read!