modernized! created separate impl for 5, 6, and 7 (WIP), updated formatting for 2014 #!