implementing clientside
merged