big cleanup, make more logical.