fixed for passing ghc compile