Lots of added features and bug fixes for stability