cleaning code
design correction