support custom suffix and prefix, fix #5