this pattern should fix most of the issues, maybe it's to good?

about issue #9