Should be done with basic logic