added flexibility for extansions