now supports extension! fix #18