all haskell side warnings resolved