Slightly better, too lazy right now to improve the code, and again, not much point since this is not even its final form