Gh476 self contained independent reusable implementation

#476