fixed and improved