Pull 15 rebase

re-base of #15