added private method to build new instance
added minus method