logic is redundant