function management
further progress
further progress
merged