many updates.. SO SMOOTH