better modeling
merged