Lots of refactoring and added knights sword swing