several enhancements