Further refactoring of common classes