Adding interfaces to PMS
Adding some abstract classes