added mapping to private setters

public constructor is no longer required, but still needs to be
parameterless
some cleanup