fix & improvment