Adds support for different extensions, changes argument handling