added some ideas for better functionality.