before decorator factory