552 master pr

Closes #552, Closes #453, fix #426 

@davefp  I found it easier to manage it like this rather than rebasing first version commits for nothing. It's ready for code review. Waiting for your response, have a nice day!