initial release with my changes

* forked some changes from Bruce