added allot of stuff