revamped for SS3.0.x
--amend