various improvments