consolidated to be self contained in the git repo