some changes :p