Added and modified many features