added optional features