multiple functionality improvements
merged
merging correctly
merged