up to date merged and fixed