remove redundant check etc