Allot of modifications :)