A lot of work

Adding so many features…