Added and modified alot