interface + bakeall function