everything but  working on IO monad