added a lot of usefull stuff.