some improvements and import stuffs