Ok, first off, 12 and 21 is impossible in high school, that's generally grades 9-12 or 10-12, so that part of your comment is completely invalid. And it may be the authors fault for not putting a label of all characters are 18+ at the beginning. But honestly, it's just fiction, so if your sensibilities hurt from it, why can't you simply change the story to him being 19 instead.