added save on functions
merge