Factoring out optional features implemented