merge with jfryman
merge with jfryman v2