Added a lot of new features