merge in work from asinesio, resolves #4