Given its complexity, this probably shouldn't be in the Beginner category.