a few dumb mistakes and general knowledge check failures, with some real pushing and optimization this could go way further