add settings and some other small feature