Improve and add new feature