Refactors listing class and adds two new classes