Updated - #7 - renamed and updated a ton.