adding more extensibility to these methods