new functions
merged