modified pretty much everything. Class W now works