reduced code
merged