updated prototype
merged prototype