yay more functionality
maybe monad is working