better patch structure