added some more logic, or illogic