bakery logic and owverriding bakery functions is better