moved class to respect best practices
removed rewrite, implemented functionality with event observer