closed unecessary logic