Merge TeritoDanny's contribution for basic functionality into Master