lakeshore218 fixed and roughly tested.