Many improvments