generic methods
merged