enhence saveall function