Added impl classes for each interface and finished adding all the interfaces