extracted common classes