did some changes, added some new things.