using constants and/or local methods would make this WAYS easier to read/understand