fixed some old code with method oveloading -> monads