Reworking to use generalized interfaces